package com.ly.heart.domain.king.order;

import com.ly.heart.domain.king.BaseChildBo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@ApiModel( "采购订单-基础信息" )
@Accessors(chain = true)
public class FPOOrderEntryBo {

    @ApiModelProperty("分录号")
    private Integer FEntryID;

    @ApiModelProperty("委外产品类型")
    private String FProductType = "1";

    @ApiModelProperty("物料编码")
    private BaseChildBo FMaterialId;

    @ApiModelProperty("BOM版本")
    private BaseChildBo FBomId;

    @ApiModelProperty("物料说明")
    private String FMaterialDesc;

    @ApiModelProperty("辅助属性")
    private FAuxPropIdBo FAuxPropId;

    @ApiModelProperty("采购单位")
    private BaseChildBo FUnitId;

    @ApiModelProperty("采购数量")
    private String FQty;

    @ApiModelProperty("计价单位")
    private BaseChildBo FPriceUnitId;

    @ApiModelProperty("计价数量")
    private String FPriceUnitQty;

    @ApiModelProperty("计价基本数量")
    private String FPriceBaseQty;

    @ApiModelProperty("交货日期")
    private String FDeliveryDate;

    @ApiModelProperty("交货地点")
    private String FLocation;

    @ApiModelProperty("交货地址")
    private String FLocationAddress;

    @ApiModelProperty("单价")
    private String FPrice;

    @ApiModelProperty("含税单价")
    private String FTaxPrice;

    @ApiModelProperty("折扣率%")
    private String FEntryDiscountRate;

    @ApiModelProperty("税组合")
    private BaseChildBo FTaxCombination;

    @ApiModelProperty("税率%")
    private String FEntryTaxRate;

    @ApiModelProperty("需求组织")
    private BaseChildBo FRequireOrgId;

    @ApiModelProperty("需求部门")
    private BaseChildBo FRequireDeptId;

    @ApiModelProperty("需求人")
    private FRequireStaffIdBo FRequireStaffId;

    @ApiModelProperty("收料组织")
    private BaseChildBo FReceiveOrgId;

    @ApiModelProperty("收货门店")
    private FBranchIdBo FBranchId;

    @ApiModelProperty("收料部门")
    private FReceiveDeptIdBo FReceiveDeptId;

    @ApiModelProperty("结算组织")
    private BaseChildBo FEntrySettleOrgId;

    @ApiModelProperty("是否赠品")
    private Boolean FGiveAway;

    @ApiModelProperty("备注")
    private String FEntryNote;

    @ApiModelProperty("供应商物料编码")
    private String FSupMatId;

    @ApiModelProperty("供应商物料名称")
    private String FSupMatName;

    @ApiModelProperty("库存单位")
    private BaseChildBo FStockUnitID;

    @ApiModelProperty("库存单位数量")
    private Integer FStockQty;

    @ApiModelProperty("库存基本数量")
    private Integer FStockBaseQty;

    @ApiModelProperty("批号")
    private BaseChildBo FLot;

    @ApiModelProperty("供应商批号")
    private String FSupplierLot;

    @ApiModelProperty("加工商")
    private BaseChildBo FProcesser;

    @ApiModelProperty("控制交货数量")
    private Boolean FDeliveryControl;

    @ApiModelProperty("控制交货时间")
    private Boolean FTimeControl;

    @ApiModelProperty("交货上限")
    private Integer FDeliveryMaxQty;

    @ApiModelProperty("交货下限")
    private Integer FDeliveryMinQty;

    @ApiModelProperty("交货提前天数")
    private Integer FDeliveryBeforeDays;

    @ApiModelProperty("交货延迟天数")
    private Integer FDeliveryDelayDays;

    @ApiModelProperty("最早交货日期")
    private String FDeliveryEarlyDate;

    @ApiModelProperty("最晚交货日期")
    private String FDeliveryLastDate;

    @ApiModelProperty("价格系数")
    private Integer FPriceCoefficient;

    @ApiModelProperty("结算方式")
    private BaseChildBo FEntrySettleModeId;

    @ApiModelProperty("消耗汇总数量")
    private Integer FConsumeSumQty = 0;

    @ApiModelProperty("源单类型")
    private String FSrcBillTypeId;

    @ApiModelProperty("源单编号")
    private String FSrcBillNo;

    @ApiModelProperty("合同单号")
    private String FContractNo;

    @ApiModelProperty("需求跟踪号")
    private String FReqTraceNo;

    @ApiModelProperty("计划跟踪号")
    private String FMtoNo;

    @ApiModelProperty("需求来源")
    private String FDEMANDTYPE;

    @ApiModelProperty("需求单据编号")
    private String FDEMANDBILLNO;

    @ApiModelProperty("需求单据行号")
    private Integer FDEMANDBILLENTRYSEQ = 0;

    @ApiModelProperty("需求单据分录内码")
    private Integer FDEMANDBILLENTRYID = 0;

    @ApiModelProperty("交货地点")
    private BaseChildBo FLocationId;

    @ApiModelProperty("计划确认")
    private Boolean FPlanConfirm = true;

    @ApiModelProperty("销售单位")
    private BaseChildBo FSalUnitID;

    @ApiModelProperty("销售数量")
    private Integer FSalQty;

    @ApiModelProperty("销售订单关联数量（采购）")
    private Integer FSalJoinQty = 0;

    @ApiModelProperty("销售订单关联数量（采购基本）")
    private Integer FBaseSalJoinQty = 0;

    @ApiModelProperty("定价单位")
    private BaseChildBo FSetPriceUnitID;

    @ApiModelProperty("当前库存")
    private Integer FInventoryQty;

    @ApiModelProperty("费用项目")
    private BaseChildBo FChargeProjectID;

    @ApiModelProperty("组别")
    private Integer FGroup;

    @ApiModelProperty("交货库存状态")
    private BaseChildBo FDeliveryStockStatus;

    @ApiModelProperty("最高报价(6.1废弃)")
    private Integer FMaxPrice;

    @ApiModelProperty("最低报价(6.1废弃)")
    private Integer FMinPrice;

    @ApiModelProperty("是否可库存")
    private Boolean FIsStock = false;

    @ApiModelProperty("消耗汇总基本单位数量")
    private Integer FBaseConsumeSumQty = 0;

    @ApiModelProperty("销售基本数量")
    private Integer FSalBaseQty;

    @ApiModelProperty("委外组织")
    private BaseChildBo FSubOrgId;

    @ApiModelProperty("付款组织")
    private BaseChildBo FEntryPayOrgId;

    @ApiModelProperty("单价折扣")
    private Integer FPriceDiscount = 0;

    @ApiModelProperty("价税合计（折前）")
    private Integer FAllAmountExceptDisCount;

    @ApiModelProperty("委外订单编号")
    private String FSUBREQBILLNO;

    @ApiModelProperty("委外订单行号")
    private Integer FSUBREQBILLSEQ = 0;

    @ApiModelProperty("委外订单分录内码")
    private Integer FSUBREQENTRYID = 0;

    @ApiModelProperty("交货明细")
    private List<FEntryDeliveryPlanBo> FEntryDeliveryPlan;

    @ApiModelProperty("税务明细")
    private List<FTaxDetailSubEntityBo> FTaxDetailSubEntity;

}
